package com.cjj.common.consts;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

/**
 * @author baozhuangyu
 * @date 2021/4/30  14:56
 * the const of organization
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class OrgConst {

    /**
     * organization level
     */
    @NoArgsConstructor(access = AccessLevel.PRIVATE)
    public static class Level{

        /**
         * the domain organization
         */
        public static final int DOMAIN_ORGANIZATION = 1;

        /**
         * the top cooperate organization
         */
        public static final int TOP_ORGANIZATION = 2;

        /**
         * the first client cooperate organization
         * the client cooperate organization level is in ( 3, 4, 5, 6, 7, 8 )
         */
        public static final int SUB_ORGANIZATION = 3;

        /**
         * the last client cooperate organization
         * the client cooperate organization level is in ( 3, 4, 5, 6, 7, 8 )
         */
        public static final int SUB_MIX_ORGANIZATION = 8;
    }

    /**
     * organization cooperative state
     */
    @NoArgsConstructor(access = AccessLevel.PRIVATE)
    public static class CooperateState{

        /**
         * 合作中
         */
        public static final int IN_COOPERATE = 1;

        /**
         * 已过期
         */
        public static final int EXPIRED = 2;

        /**
         * 即将过期
         */
        public static final int EXPIRE_IN_TWO_MONTH = 3;

        /**
         * 刚过期两个月
         */
        public static final int  EXPIRE_TWO_MONTH_AGO = 4;
    }


    /**
     * organization type
     */
    @NoArgsConstructor(access = AccessLevel.PRIVATE)
    public static class Type{
        /**
         * 试用
         */
        public static final int TRIAL = 0;

        /**
         * 正式
         */
        public static final int FORMAL = 1;
    }


    /**
     * organization contractType
     */
    @NoArgsConstructor(access = AccessLevel.PRIVATE)
    public static class ContractType{
        /**
         * 签约
         */
        public static final int CONTRACT = 1;

        /**
         * 延期
         */
        public static final int DELAY = 2;
    }
}
